// 如果需要在组件中使用store 中的数据以及方法
// 需要从mobx-miniprogram-bindings 里面引入 ComponentWithStore 方法
import { ComponentWithStore } from 'mobx-miniprogram-bindings'
// 导入当前组件需要使用的 store 对象
import { numStore } from '../../stores/numstore'
// 如果使用ComponentWithStore方法构建的组件
// 计算属性扩展库需要使用旧版的api
// 导入计算属性 behavior
const computedBehavior = require('miniprogram-computed').behavior

// 需要使用 ComponentWithStore 方法将 Component 方法进行替换
ComponentWithStore({
    // 注册 behavior
    behaviors: [computedBehavior],
    computed: {
        total(data){
            console.log(data.a ,data.b)
            return data.a + data.b
        }
    },
    watch: {
        'a, b': function(a,b){
            console.log(a,b)
        }
    },
    data: {
        a: 1,
        b: 2
    },
    methods: {
        updateData(){
            this.setData({
                a: this.data.a + 1,
                b: this.data.b + 1,
            })
        }
    },

    // 用来配置当前组件需要与哪些 Store 进行关联
    storeBindings: {
        store: numStore,
        fields: ['numA','numB','sum'],
        actions: ['update']
    }
})